home *** CD-ROM | disk | FTP | other *** search
/ A.C.E. 1 / ACE CD 1.iso / files / utils / rexxplus.dms / in.adf / readme < prev    next >
Encoding:
Text File  |  1992-06-23  |  14.9 KB  |  335 lines

  1. Run-Time License
  2.     o A Run-Time License is required to distribute compiled code. The 
  3.           License is provided for the current release and its minor updates.
  4.           The license fee is $10. It covers all code compiled by the
  5.           licensed release of the compiler, and can be requested from Dineen
  6.           Edwards Group by phone or mail.
  7.  
  8. To set up the REXX PLUS environment:
  9.  
  10.     o Install AREXX.
  11.     o double click on the RPInstall Icon.
  12.         + Copies rexxplslib.library to your LIBS: volume
  13.         + Copies Commands to your c: volume
  14.         + Creates a RPDir: directory for compiled programs
  15.         + Copies "rp" libraries to LIBS: directory
  16.         + Adds Assign, Path, and RPStart to startup-sequence
  17.         + Issues RPStart to start REXX PLUS environment
  18.         + Replaces HI with RPHI
  19.  
  20.     o Compile programs by double clicking on RexxPlus Icon or running 
  21.       rexxplus
  22.         + RexxPlusPublic/Examples/RexxCompAll.rexx will compile
  23.           and link all the files in a directory. (it is also an 
  24.           example of REXX coding)
  25.         + New autolink feature eliminates link step, and places the
  26.           executable in RPDir:.Add option -MA to RexxPlus invocations
  27.           within compile scripts so that the auto link is not 
  28.           performed, or eliminate BLINK invocation from compile
  29.           scripts.
  30.     o Start RPControl by issuing RPStart if not in startup
  31.     o Execute the compiled program by entering the program name on the 
  32.       CLI or by typing RX program_name.
  33.     o To halt execution of a program use RPhi and not hi. (this is a 
  34.       replacement program that will halt both ARexx and REXX PLUS programs).
  35.  
  36. Install ARexx:
  37.  
  38. Purchase a copy of ARexx and follow the instructions in the documentation 
  39. to install the product. ARexx is required to run compiled programs.
  40.  
  41. Install REXX PLUS:
  42.  
  43. Copy rexxplslib.library
  44.  
  45. The RexxPlsLib.library is used to hook the RexxSysLib.library provided by 
  46. ARexx. The Library is placed in the LIBS: volume so it may be found by the
  47. OpenLibrary function when compiled programs are executed.
  48.  
  49. Create RPDir: directory/volume
  50.  
  51. The RPDIR volume is used to contain any compiled programs. This directory 
  52. serves the same function as the REXX: volume for the ARexx product. When 
  53. rx is issued or a program is issued as a macro this volume is searched 
  54. for the program to be executed. Create a directory with the command 
  55. MAKEDIR SYS:RPDIR. Once the directory is created issue the command  
  56. ASSIGN RPDir: SYS:RPDIR to create the volume needed.
  57.  
  58. Compile Program
  59.  
  60. Run the program rexxplus with the correct compiler options as documented in 
  61. the Options Chapter. 
  62.  
  63. Run RPStart
  64.  
  65. Run RPStart to start the run time hooks into the ARexx environment. This 
  66. will allow programs to be invoked as macros from other programs and to 
  67. run the compiled programs with the program rx provided with ARexx.
  68.  
  69. Run the program
  70.  
  71. Run the program by either typing in the program name on the CLI or by
  72. running RX with the parameter of the program name. 
  73.  
  74. Current restrictions/bugs:
  75.     o functions/statements not implemented
  76.         + INTERPRET        (statement)
  77.         + TRACE            (statement/function does not display
  78.                      source)
  79.         + SOURCELINE        (function (returns null string))
  80.         + VALUE            (function does not return values of
  81.                      unreferenced symbols)
  82. Fixes / Revisions
  83.  
  84. ---------------------------------- 1.28 ------------------------------------
  85.     o Added "RP" library for RexxUtil.library
  86.     o Added "RP" library for RexxSerDev.library
  87.     o Added "RP" library for RexxHS
  88.     o Added "RP" library for RexxExtra.library
  89.     o Added "RP" library for RX_Intui.library release 0.3
  90.     o Added code to support the trace console for program tracing
  91.     o Added support for CACHE, NO CACHE, and NO RESULTS
  92.     o Made file Pattern for Intuition Interface to use stem of last file
  93.           name entered
  94.     o Fixed Host SYNTAX error recognition
  95.     o Fixed RPControl startup from compiled program when rexxmast is
  96.           not in the "C:" volume
  97.     o Fixed initial path for WorkBench invoked programs
  98.     o Fixed guru caused by entering too many libraries or user-builtins
  99.           from the intuition interface
  100.     o Fixed trace options entered from both +T, the trace command, and
  101.           the trace function call
  102.     o Fixed Intuition Interface button control of built-in functions
  103.           (menu item toggled wrong button/button toggled wrong menu item)
  104.     o Fixed procedure labels containing periods
  105.     o Fixed return code from programs generating error messages
  106.     o Made source change to match zap for external library support
  107.     o Made source change to match zap for READCH and READLN bugs
  108.     o Made source change to match zap for COMPRESS bug
  109.     o Made source change to match zap for Video Toaster guru
  110.  
  111. ---------------------------------- 1.27 ------------------------------------
  112.     o Added "RP" library for quicksort
  113.     o Added better logic for installing "rp" libraries
  114.     o Added support in "rp" library for new release of apig.library
  115.     o Fixed FastBench ICON invocation of REXX PLUS Compiled programs
  116.     o Fixed last line missing in source listing
  117.     o Fixed some error message line and column numbers
  118.     o Fixed corrupted storage that caused periodic gurus
  119.     o Fixed ADDRESS() as stand alone statement
  120.     o Fixed error with READCH when reading the SER: device.
  121.  
  122. ---------------------------------- 1.26 ------------------------------------
  123.     o Allow comment to be on second line of source
  124.     o Fixed guru with free twice
  125.     o Fixed RVI for simple symbols
  126.     o Fixed PARSE template handling to match 1.15 of interpreter
  127.     o Fixed Errors generated when more than one END is missing
  128.     o Fixed Errors generated with the -VE option
  129.     o Fixed extra characters after hunk name when more than one program
  130.       is compiled using the Intuition interface.
  131.     o Fixed error with READCH when reading the SER: device.
  132.     o Fixed functions POS() and INDEX() to work correctly with
  133.       the start location.
  134.  
  135. ---------------------------------- 1.25 ------------------------------------
  136.     o Added automatic link options
  137.         +   "+MA" causes blink to be invoked automatically
  138.             (default +MA, if you use a script that contains
  139.             a BLINK invocation, set -MA).
  140.         +   "+MR" causes a blink to be executed even if load
  141.             module is already present
  142.             (default -MR, blink invoked if module not present).
  143.         +   "+MW" causes a workbench Icon to be created
  144.             (default +MW, Icon created only if +MA specified).
  145.         +   "+ML linker" overrides linker name of BLINK.
  146.         +   "+ME executable_dir" directory for executable.
  147.         +   "+MO object_lib" object library name.
  148.     o Changed Intuition interface to conform better with AmigaDOS 2.0
  149.       standards.
  150.     o Added auto "NEW" for string gadgets, when new source file name
  151.       is entered.
  152.     o Created "SMALL" Icons for user install.
  153.     o Added tool type "CONSOLE" to RPStart, so ICon and program can
  154.       be placed in WBStartup directory for automatic invocation.
  155.     o Added Video Toaster "rp" libraries.
  156.         +   "rptoasterarexx.port.library" for "Switcher".
  157.         +   "rpgenloc rexx port.library" for "Genlock".
  158.     o Added assembler program for calling compile programs from "C".
  159.         +   "RexxStub.a68" (source)
  160.         +   "RexxStub.o"   (object)
  161.     o Added messages:
  162.         +   RXERR304-I:: Explanation point is not the logical not
  163.                 sign for REXX.
  164.         +   RXERR312-W:: Executable already present, LINK bypassed.
  165.         +   RXERR313-W:: Compiler did not create 'object'.
  166.         +   RXERR314-W:: Can not write to 'load_module'.
  167.         +   RXERR315-W:: Linker failed to create 'load_module'.
  168.     o Added omitted code to support UPPER command.
  169.     o Fixed bug with ARGS= tooltype for compiled programs.
  170.     o Fixed line number and column number for error message RXERR290.
  171.     o Fixed bug with DATE('N',date), which did not use the alternate
  172.       date.
  173.     o Fixed bug with corrupt window pointer, when executed under WShell.
  174.     o Fixed trapped guru, when control C issued during rexxplus start-up
  175.       code.
  176.     o Fixed bug with "rp" libraries that caused some functions to not
  177.       be found. This bug also made REXX PLUS programs require the 
  178.       support library (specified on the +UL compiler option) on the
  179.       ARexx Library list.
  180.     o Fixed bug with RANDOM(1,10). It returned only odd numbers.
  181.     o Fixed guru/loop with compiler and executable, caused by invalid
  182.       data in a Hex string.
  183.     o Fixed bug with PROCEDURE (without EXPOSE list) which caused a 
  184.       jump to the prior PROCEDURE (with an EXPOSE list).
  185.     o Fixed free twice error with Video Toaster.
  186.     o Changed RVI for undefined symbols to return null pointer
  187.       for value of symbol.
  188.     o Fixed DATE('B') to work correctly with leap years before February
  189.       28.
  190.     o Fixed bug with parse of SIGNAL label:.
  191.     o Fixed error generation for nested END statements.
  192.     o Fixed logical not comparisons when they are coded with intervening 
  193.       spaces (~ =, ~ = =, ~ ==, ~ <, ~ >).
  194.     o Fixed exact comparisons to check the length correctly before doing
  195.       the compare.
  196.     o Changed code to allow ARG as a symbol in an assignment clause.
  197.  
  198. ---------------------------------- 1.24 ------------------------------------
  199.     o Added search for resident modules, when program is invoked from
  200.       a Host. Macros can now be made resident, and the resident module
  201.       can be invoked from a Host.
  202.     o Decreased compiler execution time.
  203.     o Added rprx_tools.library for RX_TOOLS Host function resolution.
  204.     o Fixed parse of abuttal type of concatenation.
  205.     o Fixed parse of absolute position, for PARSE template.
  206.     o Fixed lost storage caused by invoking a compiled program from a
  207.       Host without a CLI.
  208.     o Fixed calls to subroutines requiring a long backward branch.
  209.     o Fixed SIGNAL ON and SIGNAL OFF in called functions/subroutines
  210.       so control is passed back up the calling stack properly.
  211.     o Fixed RVI support for compound symbols.
  212.     o Fixed guru caused by using stem or compound symbols in a 
  213.       parse template.
  214.  
  215. ---------------------------------- 1.23 ------------------------------------
  216.     o Changed external library function resolution and added Host
  217.       function resolution.
  218.         + new "rp" libraries are used to resolve the functions.    
  219.           The libraries are the same name as the library used at
  220.           execution-time except they are prefixed with "rp" (if
  221.           they are function hosts they are also suffixed with 
  222.           ".library"). This is done automatically by the compiler.
  223.           You, specify the library needed at execution-time and the 
  224.           correct library will be opened at both compile-time and 
  225.           at execution-time.
  226.  
  227.           Example:
  228.             specified library:
  229.                 +UL(rexxsupport.library,0,-30,0)
  230.             causes:
  231.                 the compiler to open rprexxsupport.library
  232.                 the executable to open rexxsupport.library
  233.  
  234.             specified host:
  235.                 +UL(AREXX,0,0,0)
  236.             causes:
  237.                 the compiler to open rparexx.library
  238.                 the executable to pass the functions found
  239.                 to the AREXX host.
  240.         Note: Enter the library or host name in the correct case, 
  241.               library lists and port lists are case sensitive.
  242.  
  243.         Libraries available:
  244.             rprexxarplib.library    rexxarplib.library
  245.              rprexxdb.library    REXXDB Host
  246.             rprexxmathlib.library    rexxmathlib.library
  247.             rprexxplsextnd.library    rexxplsextnd.library
  248.             rprexxsupport.library    rexxsupport.library
  249.             rprx_intui.library    rx_intui.library
  250.  
  251.     o Added COUNTCHARS(string1,string2) function. This function counts
  252.       the characters found in string1 as indicated by string2.
  253.         Examples:
  254.             COUNTCHARS('aa,bb,cc,dd,ee','c,')    = 6
  255.             COUNTCHARS('aa,bb,cc,dd,ee',',')    = 4
  256.             COUNTCHARS('aa,bb,cc,dd,ee','c')    = 2
  257.     o Added hashing support to compound symbol table.
  258.         + speeds up compound symbol access by 15 from prior method.
  259.     o Added fixed block storage to speed up math and string access
  260.       that use small blocks of storage.
  261.     o Optimized short branches.
  262.     o Optimized numeric conversions for function parameters and for
  263.       numeric assigns.
  264.     o Added Error messages
  265.         +    RXERR300-I:l:c New Line found within literal string.
  266.         +    RXERR301-I:l:c Procedure Label 'label' found within a DO or SELECT.
  267.         +    RXERR318-D:l:c Offset from first pass different than second pass.
  268.         +    RXERR341-D:l:c Symbol 'symbol' not found in symbol table.
  269.         +    RXERR342-D:l:c Symbol table request is invalid.
  270.         +    RXERR343-E:l:c No Register available for request.
  271.         +    RXERR344-I:l:c Symbol 'symbol' never assigned a value.
  272.         +    RXERR345-I:l:c Function 'function' not supported by REXX PLUS.
  273.     o Added more diagnostic support to guru trap.
  274.     o Added label type of trace entries to the trace support.
  275.     o Added informational messages for literals containing new line
  276.       characters, so user could catch strings with missing quotes.
  277.     o Fixed host support so startup messages are returned.
  278.     o Fixed Numeric conversion that caused some numbers to be generated
  279.       with alpha characters.
  280.     o Fixed function DATATYPE(N,) so numeric values containing an 
  281.       exponent would be recognized as numeric.
  282.     o Fixed function INSERT() with parameter four omitted.
  283.     o Fixed guru with error messages produced by intuition interface.
  284.     o Fixed concatenation when symbols and strings are coded together
  285.       without a blank or a concatenation sign "||". 
  286.     o Fixed function DATE(C) to return the hours with the leading zero
  287.       suppressed.
  288.     o Fixed RVI support for simple symbols.
  289.     o Fixed loops that contain negative increments.
  290.     o Fixed gurus caused by TRACE support when program contained 
  291.       compound symbols.
  292. ---------------------------------- 1.22 ------------------------------------
  293.     o Added WorkBench support to compiled programs.
  294.         + Tool type of CONSOLE is used to set the default console. 
  295.         + Tool type of ARGS is used to set the default args (when 
  296.           coded they are parsed the same as from the CLI.
  297.     o Added tool types to Intuition interface for Compiler Options.
  298.         + Tool type of RXCOPTS is used to set all options.
  299.         + Tool type of BOOLS is used to set boolean options.
  300.         + Tool type of USERS is used to set user built-in functions.
  301.         + Tool type of LIBS is used to set libraries.
  302.         All options can be placed in any of the tool types and are
  303.         parsed as if they were entered from the command line.
  304.         The order of evaluation is as listed above.
  305.     o Added support for PRAGMA('S') which is used to set the default 
  306.       stack size for any command invocation. The returned value is the
  307.       old default stack size.
  308.     o Fixed bug with labels starting with a numeric or special character.
  309.     o Changed the size of the install window.
  310.     o Fixed error redirection for the Intuition Interface.
  311.     o Added missing support module RXINTBOL.
  312.     o Added test for ICON placement (in the install).
  313.     o Fixed RANDOM() function to return the correct number of digits.
  314.     o Fixed TRUNC() function bug (returned an error when the number
  315.       of digits to the right of the decimal point was more than NUMERIC
  316.       digits).
  317.     o Fixed Host support, RPInstall, and RPStart bugs that caused GURU
  318.       under AmigaDOS 2.04.
  319.     o Fixed Syntax parse error caused by SELECT...OTHERWISE END.
  320.     o Fixed bug with Storage never being freed under 2.04 when the stack
  321.       size is less than 10,000.
  322.     o Fixed Syntax parse error caused by IF cond THEN DO...END ELSE stmt.
  323.     o Compiler Options Documentation errors.
  324.         * +H controls the hunk name.
  325.         * +FP controls the default output path name.
  326.         * -+VE controls the informational error messages.
  327.         * +FE controls error message redirection.
  328.         * +FN does nothing.
  329.  
  330. ---------------------------------- 1.20 ------------------------------------
  331.     o Added LOWER function
  332.     o Added Verbose Errors (+-VE) compiler option to disable
  333.       informational error messages
  334.     o Fixed iterate within DO END
  335.